﻿#region License
// (c) Intergen.
// This source is subject to the Microsoft Public License (Ms-PL).
// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
// All other rights reserved.
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TextGlow.Control.Packaging
{
  public interface IPackage : IContainer
  {
    /// <summary>
    /// Gets the package content getter.
    /// </summary>
    /// <value>The content getter.</value>
    IContentGetter ContentGetter { get; }

    /// <summary>
    /// Gets the package content type helper.
    /// </summary>
    /// <value>The content type helper.</value>
    ContentTypeHelper ContentTypeHelper { get; }

    /// <summary>
    /// Gets content from the downloader using the given URI.
    /// </summary>
    /// <param name="contentUri">The content URI.</param>
    /// <returns></returns>
    string GetContent(Uri contentUri);

    /// <summary>
    /// Tests whether content with the given URI exists in the package downloader.
    /// </summary>
    /// <param name="contentUri">The content URI.</param>
    /// <returns></returns>
    bool ContentExists(Uri contentUri);
  }
}
